package docker

//容器卷的继承和共享

/*

-----继承和数据共享-------

		--volumes-from 父类名


		容器1完成和宿主机的映射
					docker run -it --privileged=true -d  --name mysql-volume01 -p 9501:3306 \
					-v /home/zydh/etc/docker-container-etc/mysql/conf:/etc/mysql/conf.d \
					-v /home/zydh/docker/volume/mysql/data:/var/lib/mysql \
					-v /home/zydh/logs/mysql:/var/log/mysql	 \
					-e MYSQL_ROOT_PASSWORD=root \
					mysql  --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

		容器2继承容器1的卷规则

					docker run -it --privileged=true -d ---volumes-from  mysql-volume01 --name mysql-volume02 mysql


		此刻，容器1和容器2的数据已经共享

		容器2继承的容器1的挂载规则，但相互间是独立的，容器1关闭，容器2正常






------------数据卷容器 - 多个容器数据共享
	新建容器
	启动容器1
	docker run -it --name docker01 容器id

	启动容器2，其中继承docker01，docker01被docker02称为父容器，docker01也被称为数据卷容器
	docker run -it --name docker02 --volumes-from docker01 容器id

	启动容器3，也挂载到docker01
	docker run -it --name docker03 --volumes-from docker01 容器id

	创建docker03继承docker01，启动就会发现docker01的数据已经到docker03了
	然后在docekr03的volume01新建一个文件，再去docker01和docker02中的volume02中查看，都已经数据同步了

	现在停止并删除docker01容器，但是在docker02和docker03中vlume的数据还在

	因为docker02/03之间的共享卷是通过【拷贝】概念




------------------实例：多个mysql实现数据共享------------
	启动两个mysql，共用一个数据库
	启动mysql01
	docker run -d -it -p 39001:3306 -v /tmp/mysql/conf:/etc/mysql/conf.d -v /tmp/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql01 mysql
	启动mysql02
	docker run -d -it -p 39002:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql02 --volumes-from mysql01 mysql

	分别进去mysql01和mysql02
	docker ps -a  得到mysql01和mysql02的容器id
	docekr exec -it mysql01容器id /bin/bash
	docekr exec -it mysql02容器id /bin/bash

	在mysql01中创建数据库mysql01
	mysql -uroot -p
	show databases;
	create database mysql01;
	show databases;

	在mysql02中创建数据库mysql02
	show databases;
	create database mysql02;
	show databases;
	//发现数据库已同步


	结论：
		容器之间，配置信息的传递
		数据卷容器的生命周期一直持续到没有容器使用为止


*/